package com.ruoyi.system.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 采购订单明细对象 biz_purchase_order_item
 * 
 * @author ruoyi
 * @date 2025-10-20
 */
public class BizPurchaseOrderItem extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 明细ID，主键 */
    private Long itemId;

    /** 订单ID */
    @Excel(name = "订单ID")
    private Long orderId;

    /** 采购订单编号 */
    @Excel(name = "采购订单编号")
    private String orderNo;

    /** 存货编码 */
    @Excel(name = "存货编码")
    private String inventoryCode;

    /** 订单数量 */
    @Excel(name = "订单数量")
    private BigDecimal orderQuantity;

    /** 计量单位编码 */
    @Excel(name = "计量单位编码")
    private String unitCode;

    /** 已打码数量 */
    @Excel(name = "已打码数量")
    private BigDecimal barcodedQuantity;

    /** 未打码数量 */
    @Excel(name = "未打码数量")
    private BigDecimal unbarcodedQuantity;

    /** 已入库数量 */
    @Excel(name = "已入库数量")
    private BigDecimal putawayQuantity;

    /** 明细状态 */
    @Excel(name = "明细状态")
    private String itemStatus;

    /** 创建人 */
    @Excel(name = "创建人")
    private String createdBy;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createdTime;

    /** 更新人 */
    @Excel(name = "更新人")
    private String updatedBy;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updatedTime;

    /** 删除标志（0存在 1删除） */
    private String delFlag;

    public void setItemId(Long itemId) 
    {
        this.itemId = itemId;
    }

    public Long getItemId() 
    {
        return itemId;
    }
    public void setOrderId(Long orderId) 
    {
        this.orderId = orderId;
    }

    public Long getOrderId() 
    {
        return orderId;
    }
    public void setOrderNo(String orderNo) 
    {
        this.orderNo = orderNo;
    }

    public String getOrderNo() 
    {
        return orderNo;
    }
    public void setInventoryCode(String inventoryCode) 
    {
        this.inventoryCode = inventoryCode;
    }

    public String getInventoryCode() 
    {
        return inventoryCode;
    }
    public void setOrderQuantity(BigDecimal orderQuantity) 
    {
        this.orderQuantity = orderQuantity;
    }

    public BigDecimal getOrderQuantity() 
    {
        return orderQuantity;
    }
    public void setUnitCode(String unitCode) 
    {
        this.unitCode = unitCode;
    }

    public String getUnitCode() 
    {
        return unitCode;
    }
    public void setBarcodedQuantity(BigDecimal barcodedQuantity) 
    {
        this.barcodedQuantity = barcodedQuantity;
    }

    public BigDecimal getBarcodedQuantity() 
    {
        return barcodedQuantity;
    }
    public void setUnbarcodedQuantity(BigDecimal unbarcodedQuantity) 
    {
        this.unbarcodedQuantity = unbarcodedQuantity;
    }

    public BigDecimal getUnbarcodedQuantity() 
    {
        return unbarcodedQuantity;
    }
    public void setPutawayQuantity(BigDecimal putawayQuantity) 
    {
        this.putawayQuantity = putawayQuantity;
    }

    public BigDecimal getPutawayQuantity() 
    {
        return putawayQuantity;
    }
    public void setItemStatus(String itemStatus) 
    {
        this.itemStatus = itemStatus;
    }

    public String getItemStatus() 
    {
        return itemStatus;
    }
    public void setCreatedBy(String createdBy) 
    {
        this.createdBy = createdBy;
    }

    public String getCreatedBy() 
    {
        return createdBy;
    }
    public void setCreatedTime(Date createdTime) 
    {
        this.createdTime = createdTime;
    }

    public Date getCreatedTime() 
    {
        return createdTime;
    }
    public void setUpdatedBy(String updatedBy) 
    {
        this.updatedBy = updatedBy;
    }

    public String getUpdatedBy() 
    {
        return updatedBy;
    }
    public void setUpdatedTime(Date updatedTime) 
    {
        this.updatedTime = updatedTime;
    }

    public Date getUpdatedTime() 
    {
        return updatedTime;
    }
    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("itemId", getItemId())
            .append("orderId", getOrderId())
            .append("orderNo", getOrderNo())
            .append("inventoryCode", getInventoryCode())
            .append("orderQuantity", getOrderQuantity())
            .append("unitCode", getUnitCode())
            .append("barcodedQuantity", getBarcodedQuantity())
            .append("unbarcodedQuantity", getUnbarcodedQuantity())
            .append("putawayQuantity", getPutawayQuantity())
            .append("itemStatus", getItemStatus())
            .append("createdBy", getCreatedBy())
            .append("createdTime", getCreatedTime())
            .append("updatedBy", getUpdatedBy())
            .append("updatedTime", getUpdatedTime())
            .append("remark", getRemark())
            .append("delFlag", getDelFlag())
            .toString();
    }
}
